# json模块：模块用于处理JSON数据，比如将Python对象转换为JSON字符串-编码，将JSON字符串转换为Python对象-解码
import json

# 将python对象转换为JSON字符串
my_dict = {'name': 'cendy', 'age': 18, 'addr': 'shanghai'}
print('python对象：', my_dict)
json_str = json.dumps(my_dict)
print('python对象转换为JSON字符串：', json_str)

# 将JSON字符串转换为Python对象
new_dict = json.loads(json_str)
print('JSON字符串转换为Python对象：', new_dict)

# 原始字符串
my_json_str = '{"name": "cendy", "age": 18, "addr": "shanghai"}'
print('原始字符串：', my_json_str)
# print(my_json_str[name])    # 报错：无法当成字典使用，NameError: name 'name' is not defined
new_dict1 = json.loads(my_json_str)
print('原始字符串转换为Python对象：', new_dict1)
print('原始字符串转换为Python对象：', new_dict1['name'])

# 非json格式的字符串转换
# a = "abc"
# result1 = json.loads(a) # 无法转换，会报错 ValueError: Expecting value: line 1 column 1 (char 0)
# print(result1)

# json格式的列表字符串转换
str = '["a","b","c"]'
result2 = json.loads(str)
print(result2)